package com.wang.project.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

/**
 * 全局跨域配置
 *
 * @author yupi
 */
@Configuration
public class CorsConfig implements WebMvcConfigurer {

    @Override
    public void addCorsMappings(CorsRegistry registry) {
        // 覆盖所有请求
        registry.addMapping("/**")
                // 允许发送 Cookie
                .allowCredentials(true) //允许发送和接收跨域请求时携带 cookie。
                // 放行哪些域名（必须用 patterns，否则 * 会和 allowCredentials 冲突）
                .allowedOrigins("*") //允许来自任何域的请求访问。
                .allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS") //允许所有请求方法（GET、POST、PUT、DELETE 等）的访问。
                .allowedHeaders("*")//允许携带任何请求头。
                .exposedHeaders("*"); //允许前端访问响应头的字段。此处使用通配符 * 表示允许访问所有响应头字段，也可以指定具体的响应头字段名称。
    }
}
